<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>OpenSceneGraph</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/OpenSceneGraph"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-OpenSceneGraph rootpage-OpenSceneGraph skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">OpenSceneGraph</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1295905060">
/* start https://en.wikipedia.org/ */
.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}
/* end https://en.wikipedia.org/ */
</style><table class="infobox vevent"><tbody><tr><th colspan="2" class="infobox-above summary">OpenSceneGraph</th></tr><tr><td colspan="2" class="infobox-image logo"></td></tr><tr style="display: none;"><td colspan="2" class="infobox-full-data"></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Software_release_life_cycle" title="Software release life cycle">Stable release</a></th><td class="infobox-data"><div style="margin:0px;">3.6.5
/ January 31, 2020<span style="display:none"> (<span class="bday dtstart published updated">2020-01-31</span>)</span><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></div></td></tr><tr style="display:none"><td colspan="2">
</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Repository_(version_control)" title="Repository (version control)">Repository</a></th><td class="infobox-data"><style data-mw-deduplicate="TemplateStyles:r1126788409">
/* start https://en.wikipedia.org/ */
.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}
/* end https://en.wikipedia.org/ */
</style><div class="plainlist"><ul><li><span class="url"><a rel="nofollow" class="external text" href="https://github.com/openscenegraph/OpenSceneGraph">github<wbr>.com<wbr>/openscenegraph<wbr>/OpenSceneGraph</a></span> </li></ul>
</div></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Written in</th><td class="infobox-data"><a href="C%2B%2B" title="C++">C++</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Operating_system" title="Operating system">Operating system</a></th><td class="infobox-data"><a href="Cross-platform" class="mw-redirect" title="Cross-platform">Cross-platform</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Software_categories#Categorization_approaches" title="Software categories">Type</a></th><td class="infobox-data"><a href="3D_graphics" class="mw-redirect" title="3D graphics">3D graphics</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Software_license" title="Software license">License</a></th><td class="infobox-data"><a rel="nofollow" class="external text" href="http://www.openscenegraph.org/projects/osg/wiki/Legal">OpenSceneGraph Public License</a> (<a href="LGPL" class="mw-redirect" title="LGPL">LGPL</a> based)</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="http://www.openscenegraph.org/">www<wbr>.openscenegraph<wbr>.org</a></span><br><span class="url"><a rel="nofollow" class="external text" href="http://www.openscenegraph.com/">www<wbr>.openscenegraph<wbr>.com</a></span></td></tr></tbody></table><style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style>
<p><b>OpenSceneGraph</b> is an <a href="Open-source_software" title="Open-source software">open-source</a> 3D graphics <a href="Application_programming_interface" class="mw-redirect" title="Application programming interface">application programming interface</a> (library or framework),<sup id="cite_ref-springer_2-0" class="reference"><a href="#cite_note-springer-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> used by application developers in fields such as <a href="Visual_simulation" class="mw-redirect" title="Visual simulation">visual simulation</a>, <a href="Computer_game" class="mw-redirect" title="Computer game">computer games</a>, <a href="Virtual_reality" title="Virtual reality">virtual reality</a>, scientific <a href="Scientific_visualization" title="Scientific visualization">visualization</a> and <a href="Computer_model" class="mw-redirect" title="Computer model">modeling</a>.
</p><p>The toolkit is written in standard <a href="C%2B%2B" title="C++">C++</a> using <a href="OpenGL" title="OpenGL">OpenGL</a>,<sup id="cite_ref-springer_2-1" class="reference"><a href="#cite_note-springer-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> and runs on a variety of <a href="Operating_system" title="Operating system">operating systems</a> including <a href="Microsoft_Windows" title="Microsoft Windows">Microsoft Windows</a>, <a href="MacOS" title="MacOS">macOS</a>, <a href="Linux" title="Linux">Linux</a>, <a href="IRIX" title="IRIX">IRIX</a>, <a href="Solaris_(operating_system)" class="mw-redirect" title="Solaris (operating system)">Solaris</a> and <a href="FreeBSD" title="FreeBSD">FreeBSD</a>. Since version 3.0.0, OpenSceneGraph also supports application development for mobile platforms, namely <a href="IOS" title="IOS">iOS</a> and <a href="Android_(operating_system)" title="Android (operating system)">Android</a>.
</p><p>As of 2021, the project is being succeeded by VulkanSceneGraph project, a Vulkan-based library.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> OpenSceneGraph is in maintenance phase since 2019.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>The OpenSceneGraph project was initiated by Don Burns in 1998. Robert Osfield joined the project during 1999, working on porting finished components for Microsoft Windows. The project went open source in September 1999 and the official <a rel="nofollow" class="external text" href="http://www.openscenegraph.org">project website</a> was created. Towards the end of the year Osfield took over the project and began extensive refactoring of the existing codebase, putting emphasis on modernisation, embracing modern C++ standards and <a href="Design_pattern_(computer_science)" class="mw-redirect" title="Design pattern (computer science)">design patterns</a>.
</p><p>In April 2001, taking into account growing community of users and interest of public, Robert Osfield created OpenSceneGraph Professional Services, providing commercial support, consulting and training services. This marks full professionalization of the project.
</p><p>The first official stable version of OpenSceneGraph was version 1.0, released in 2005. An extended version 2.0 followed in 2007, adding support for multi-core and multi-gpu systems, several important NodeKits and usage of unified multiplatform build system <a href="CMake" title="CMake">CMake</a>. Books and user handbooks were introduced.<sup id="cite_ref-quickstart_4-0" class="reference"><a href="#cite_note-quickstart-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>The project has been quickly growing and becoming more popular ever since. There are more than 530 contributors signed under current stable version, and the official mailing list contains thousands of names.<sup id="cite_ref-History_5-0" class="reference"><a href="#cite_note-History-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p><p>In 2019, the project was moved to a maintenance phase, the main development effort being routed to its successor project VulkanSceneGraph.<sup id="cite_ref-VulkanSceneGraph_6-0" class="reference"><a href="#cite_note-VulkanSceneGraph-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Features">Features</h2></div>
<p>Features in version 1.0:<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>A feature-rich and widely adopted <a href="Scene_graph" title="Scene graph">scene graph</a> implementation</li>
<li>Support for performance increasing features
<ol><li><a href="View_frustum" class="mw-redirect" title="View frustum">View frustum</a>, small feature and <a href="Occlusion_culling" class="mw-redirect" title="Occlusion culling">occlusion culling</a></li>
<li><a href="Level_of_detail_(computer_graphics)" title="Level of detail (computer graphics)">Level of detail</a></li>
<li>State sorting and lazy state updating</li>
<li><a href="OpenGL" title="OpenGL">OpenGL</a> fast paths and latest extensions</li>
<li>Multi-threading and database optimization</li></ol></li>
<li>Support for OpenGL, from 1.1 through 2.0 including the latest extensions</li>
<li>Tightly coupled support for OpenGL Shading Language, developed in conjunction with 3Dlabs</li>
<li>Support for a wide range of 2D image and 3D database formats, with loaders available for formats such as <a href="OpenFlight" title="OpenFlight">OpenFlight</a>, TerraPage, <a href="Wavefront_.obj_file" title="Wavefront .obj file">OBJ</a>, <a href=".3ds" title=".3ds">3DS</a>, <a href="JPEG" title="JPEG">JPEG</a>, <a href="Portable_Network_Graphics" class="mw-redirect" title="Portable Network Graphics">PNG</a> and <a href="GeoTIFF" title="GeoTIFF">GeoTIFF</a></li>
<li><a href="Particle_system" title="Particle system">Particle effects</a></li>
<li>Support for anti-aliased <a href="TrueType" title="TrueType">TrueType</a> text</li>
<li>Seamless support for <a href="Framebuffer" title="Framebuffer">framebuffer</a> objects, <a href="Pixel_buffer" title="Pixel buffer">pbuffers</a> and frame buffer render-to-texture effects</li>
<li>Multi-threaded database paging support, which can be used in conjunction with all 3D database and image loaders</li>
<li>Large scale, whole earth geospatial terrain paged database generation</li>
<li>Introspection support for core libraries allowing external applications to query, get, set and operate on all classes in the scene graph, via a generic interface</li>
<li>Multi-threaded and configurable support for multiple CPU/multiple GPU machines</li></ul>
<p>Features in version 2.8.3<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li><a href="Mac_OS_X_10.6" class="mw-redirect" title="Mac OS X 10.6">Mac OS X 10.6</a> (Snow Leopard) support</li>
<li>ImageIO support on <a href="MacOS" title="MacOS">Mac OS X</a></li>
<li>3DS file format export and file conversion</li>
<li>Integrated Autodesk FBX technology</li>
<li>Integrated FFmpeg support for displaying video file content in 3D applications.</li>
<li>PLY file format support</li></ul>
<p>Features in version 2.8.4:<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>VS2010 build support</li></ul>
<p>Features in version 3.0.0:<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>OpenGL ES 1.1, and OpenGL ES 2.0 support</li>
<li>OpenGL 3.x and 4.x support along with associated OpenGL extensions</li>
<li>Support for Android on tablets and phones</li>
<li>Support for IOS on tablets and phones (end users applications have already been accepted on the App Store)</li>
<li>Introduction of Present3D application for immersive 3D presentations</li>
<li>New extensible serializers that provide new .osgb binary, .osgt ascii and .osgx xml file native formats</li>
<li>New generalized serializable metadata architecture</li>
<li>New osgQt library that makes it straight forward to integrate !OpenSceneGraph with Qt, including web browsing via QWebKit.</li>
<li>New FBX plugin based on the Autodesk FBX DSK that enables reading of the .fbx 3D authoring and interchange format</li>
<li>New directshow plugin for handling movies under Windows</li>
<li>New pov plugin for exporting a scene to POV-Ray format, enabling use of POV-Ray to do photo-realistic ray tracing</li>
<li>New ply plugin for reading ply files</li>
<li>Revamped 3ds plugin for reading and writing of .3ds files</li>
<li>Revamped dxf plugin for reading and writing of .dxf files</li>
<li>Support for Cocoa and 64bit OSX build</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Stable_version_release_history">Stable version release history</h2></div>
<table class="wikitable">
<tbody><tr>
<th>Version
</th>
<th>Release Date
</th></tr>
<tr>
<td>3.0
</td>
<td>5 February 2013<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>
</td></tr>
<tr>
<td>3.2
</td>
<td>24 July 2013<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
</td></tr>
<tr>
<td>3.4
</td>
<td>20 July 2015<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>
</td></tr>
<tr>
<td>3.4.1
</td>
<td>28 August 2017<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>
</td></tr>
<tr>
<td>3.6
</td>
<td>7 April 2018<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup>
</td></tr>
<tr>
<td>3.6.1
</td>
<td>28 May 2018
</td></tr>
<tr>
<td>3.6.2
</td>
<td>29 June 2018
</td></tr>
<tr>
<td>3.6.3
</td>
<td>14 September 2018
</td></tr>
<tr>
<td>3.6.4
</td>
<td>26 July 2019
</td></tr>
<tr>
<td>3.6.5
</td>
<td>31 January 2020
</td></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="Architecture">Architecture</h2></div>
<p>Library architecture can be separated into three main subsets — the core OpenSceneGraph library, osgViewer and a set of NodeKits.
</p>
<div class="mw-heading mw-heading3"><h3 id="Core">Core</h3></div>
<p>The base of OpenSceneGraph library can be further divided into four main modules.
</p>
<div class="mw-heading mw-heading4"><h4 id="osg">osg</h4></div>
<p>The core of OpenSceneGraph provides <a href="Class_(object-oriented_programming)" class="mw-redirect" title="Class (object-oriented programming)">classes</a> and methods for construction and manipulation of the <a href="Scene_graph" title="Scene graph">scene graph</a>. It contains classes representing various types of <a href="Node_(graph_theory)" class="mw-redirect" title="Node (graph theory)">nodes</a>, scene geometry, <a href="OpenGL" title="OpenGL">OpenGL</a> state abstraction, <a href="Transformation_(geometry)" class="mw-redirect" title="Transformation (geometry)">geometric transformations</a>, as well as mathematical classes for 2D and 3D <a href="Vector_(geometric)" class="mw-redirect" title="Vector (geometric)">vector</a> and <a href="Matrix_operation" class="mw-redirect" title="Matrix operation">matrix operations</a>. Advanced <a href="Memory_management" title="Memory management">memory management</a> is also included.
</p>
<div class="mw-heading mw-heading4"><h4 id="OpenThreads">OpenThreads</h4></div>
<p>The OpenSceneGraph project contains a threading library, <i>OpenThreads</i>, which is a lightweight cross-platform <a href="Thread_(computer_science)" class="mw-redirect" title="Thread (computer science)">thread</a> <a href="Computer_model" class="mw-redirect" title="Computer model">model</a>. It is intended to provide a minimal and complete Object-Oriented (OO) thread interface for <a href="C%2B%2B" title="C++">C++</a> programmers. It is loosely modeled on the <a href="Java_(programming_language)" title="Java (programming language)">Java</a> thread API, and the <a href="Pthreads" title="Pthreads">POSIX Threads standards</a>.
</p><p>The <a href="Architecture" title="Architecture">architecture</a> of OpenThreads is designed around "swappable" thread models which are defined at <a href="Compile-time" class="mw-redirect" title="Compile-time">compile-time</a> in a <a href="Library_(computer_science)" class="mw-redirect" title="Library (computer science)">shared object library</a>. It is of importance to note that while a <a href="Factory_method_pattern" title="Factory method pattern">factory pattern design</a> could have been used to achieve the goal of generic <a href="Interface_(computer_science)" class="mw-redirect" title="Interface (computer science)">interface</a>, it would have required the programmer to allocate each of the 4 fundamental types (Thread, Mutex, Barrier, & Condition) on the <a href="Heap_(programming)" class="mw-redirect" title="Heap (programming)">heap</a>. Due to the cost associated with heap allocation of the underlying concrete implementations of these constructs on some platforms, such allocation was deemed unacceptable at the time this library was originally written, and thus the factory pattern was not used.
</p><p>Instead, a somewhat abstruse - but effective - technique was chosen to provide the necessary <a href="Data_hiding" class="mw-redirect" title="Data hiding">data/implementation hiding</a>. This technique uses private <a href="Void_pointer" class="mw-redirect" title="Void pointer">void pointers</a> to encapsulate object private data. The void pointers actually point at concrete data structures, but give a uniform interface to the dso.
</p><p>The design goal of OpenThreads is to construct optimized implementations using platform optimized multi-processing constructs such as the <a href="Fork_(system_call)#Rfork" title="Fork (system call)">sproc</a> methods used on IRIX, and Windows threads.
</p>
<div class="mw-heading mw-heading4"><h4 id="osgUtil">osgUtil</h4></div>
<p>osgUtil contains <a href="Rendering_(computer_graphics)" title="Rendering (computer graphics)">rendering</a> <a href="Front_and_back_ends" class="mw-redirect" title="Front and back ends">backend</a> functionality and utilities taking care of scene <a href="Graph_traversal" title="Graph traversal">graph traversal</a>, rendering <a href="Optimisation_(computer_science)" class="mw-redirect" title="Optimisation (computer science)">optimisation</a> and transforming the scene into a stream of <a href="OpenGL" title="OpenGL">OpenGL</a> API calls. It also provides means of basic interaction with scene, such as object picking.
</p>
<div class="mw-heading mw-heading4"><h4 id="osgDB">osgDB</h4></div>
<p>This library is tasked with loading 3D model files. It supports many 2D/3D data <a href="File_format" title="File format">formats</a> manipulators. More than 50 different formats are supported - most common are 3D data formats, such as <a href="Collada" class="mw-redirect" title="Collada">COLLADA</a> (.dae), <a href="LightWave" class="mw-redirect" title="LightWave">LightWave</a> (.lwo), <a href="Wavefront_.obj_file" title="Wavefront .obj file">Wavefront</a> (.obj), <a href="OpenFlight" title="OpenFlight">OpenFlight</a> (.flt), <a href="3D_Studio_Max" class="mw-redirect" title="3D Studio Max">3D Studio Max</a> (.3ds), <a href="DirectX" title="DirectX">DirectX</a> (.x) and many others. OpenSceneGraph also provides its own native <a href="ASCII" title="ASCII">ASCII</a> .osg format. There are exporters into .osg format available for <a href="Blender_(software)" title="Blender (software)">Blender</a>, <a href="Maya_(software)" class="mw-redirect" title="Maya (software)">Maya</a> and 3D Studio MAX.
</p><p>Supported picture formats include .rgb, <a href="GIF" title="GIF">.gif</a>, <a href="JPEG" title="JPEG">.jpg</a>, <a href="Portable_Network_Graphics" class="mw-redirect" title="Portable Network Graphics">.png</a>, <a href="TIFF" title="TIFF">.tiff</a>, .pic, <a href="BMP_file_format" title="BMP file format">.bmp</a>, <a href="DirectDraw_Surface" title="DirectDraw Surface">.dds</a>, <a href="Truevision_TGA" title="Truevision TGA">.tga</a> and <a href="QuickTime_File_Format" title="QuickTime File Format">quicktime</a>.
</p><p>This module also provides I/O device abstraction. The other file-format loader plugins are registered with osgDB.
</p>
<div class="mw-heading mw-heading4"><h4 id="osgGA">osgGA</h4></div>
<p>This is a GUI abstraction library required for different platforms.
</p>
<div class="mw-heading mw-heading3"><h3 id="osgViewer">osgViewer</h3></div>
<p>osgViewer Library provides a quick and easy way of <a href="Information_visualization" class="mw-redirect" title="Information visualization">visualizing</a> the graphics scene. It is also a platform-independent abstraction for various <a href="Window_system" class="mw-redirect" title="Window system">window system</a> interfaces.
</p>
<div class="mw-heading mw-heading4"><h4 id="osgProducer">osgProducer</h4></div>
<p>The OSG is also shipped with a <b>osgProducer</b> which is just a platform-independent viewer supporting multiple graphic contexts and multi-threading.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="NodeKits">NodeKits</h3></div>
<p>Project distribution also contains a variety of so-called <i>NodeKits</i>. These are solutions of common problems and frequently used more advanced 3D application components and graphics algorithms. Among the most significant are
</p>
<ul><li>osgAnimation — Skeletal models usage, animating and morphing.</li>
<li>osgFX — Special effects and image postprocessing.</li>
<li>osgManipulator — Interactive 3D scene manipulation.</li>
<li>osgParticle — Advanced <a href="Particle_system" title="Particle system">particle system</a> usage.</li>
<li>osgQt — Integration with <a href="Qt_(framework)" class="mw-redirect" title="Qt (framework)">Qt toolkit</a> and incorporation of QtGUI elements into OSG applications.</li>
<li>osgShadow — Framework for shadow rendering techniques.</li>
<li>osgTerrain — Extensive <a href="Terrain_rendering" class="mw-redirect" title="Terrain rendering">terrain rendering</a>.</li>
<li>osgText — Quality antialiased fonts, TrueType and FreeType font support.</li>
<li>osgVolume — <a href="Volume_rendering" title="Volume rendering">Volume rendering</a> and volumetric data manipulation.</li>
<li>osgWidget — Simple <a href="Graphical_user_interface" title="Graphical user interface">GUI</a> creation.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Reception_and_adoption">Reception and adoption</h2></div>
<p>OpenSceneGraph doesn't provide any functionality for higher "gaming" logic, it is a rendering-only tool. There are several full-scale <a href="Game_engine" title="Game engine">engines</a> for <a href="Computer_games" class="mw-redirect" title="Computer games">computer games</a> (or so-called <i><a href="Serious_games" class="mw-redirect" title="Serious games">serious games</a></i>) creation using OSG as a base of graphics rendering, the most common framework being <a href="Delta3D" title="Delta3D">Delta3D</a>.
</p><p>There is a great variety of software products built on top of OpenSceneGraph; among others, <a rel="nofollow" class="external text" href="http://www.vterrain.org">Virtual Terrain Project</a> and <a rel="nofollow" class="external text" href="http://www.viewtec.net">ViewTec TerrainView</a>. List of OSG users contains companies as <a href="Boeing" title="Boeing">Boeing</a>, <a href="NASA" title="NASA">NASA</a>, <a href="FlightGear" title="FlightGear">FlightGear</a>, Norcontrol and many others.<sup id="cite_ref-Use_Cases_18-0" class="reference"><a href="#cite_note-Use_Cases-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Use_Cases_2_19-0" class="reference"><a href="#cite_note-Use_Cases_2-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-VTP_20-0" class="reference"><a href="#cite_note-VTP-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-TV_21-0" class="reference"><a href="#cite_note-TV-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-D3D_22-0" class="reference"><a href="#cite_note-D3D-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>
</p><p>At the opensource community level, several projects have adopted OSG as a rendering backend:
</p>
<ul><li><a href="FlightGear" title="FlightGear">FlightGear</a> (Flight Simulation software)</li>
<li><a href="OpenMW" title="OpenMW">OpenMW</a> (Open-source engine recreation for <a href="Morrowind" class="mw-redirect" title="Morrowind">Morrowind</a>)</li></ul>
<p>OpenSceneGraph has received a javascript/WebGL implementation called <a href="OSG.JS" title="OSG.JS">OSG.JS</a> that is used by many online 3D scene viewers including <a href="Sketchfab" title="Sketchfab">Sketchfab</a> and <a href="Clara.io" title="Clara.io">Clara.io</a>.
</p><p>A wrapping from C++ to javascript through Emscripten OGStudio is also currently developed.
</p><p>Among other products that use OSG must be mentioned:
</p>
<ul><li><a href="Remo_3D" title="Remo 3D">Remo 3D</a> OSG Scene Editor</li></ul>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="OSG.JS" title="OSG.JS">OSG.JS</a></li>
<li><a href="OpenGL" title="OpenGL">OpenGL</a></li>
<li><a href="OGRE" title="OGRE">OGRE</a></li>
<li><a href="Delta3D" title="Delta3D">Delta3D</a></li>
<li><a href="Irrlicht_Engine" title="Irrlicht Engine">Irrlicht Engine</a></li>
<li><a href="Crystal_Space" title="Crystal Space">Crystal Space</a></li>
<li><a href="Visualization_Library" title="Visualization Library">Visualization Library</a></li>
<li><a href="OpenSG" title="OpenSG">OpenSG</a></li>
<li>ossimPlanet</li>
<li><a href="Grome" title="Grome">Grome</a></li>
<li><a href="Open_Inventor" title="Open Inventor">Open Inventor</a></li>
<li><a href="Unity_(game_engine)" title="Unity (game engine)">Unity (game engine)</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;">
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.openscenegraph.com/index.php/download-section/stable-releases">"Stable releases"</a>. <i>www.openscenegraph.com</i>.</cite></span>
</li>
<li id="cite_note-springer-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-springer_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-springer_2-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFAnne_RuasChristopher_Gold2008" class="citation book cs1">Anne Ruas; Christopher Gold (2008). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=wc5gMNG3dIcC&q=OpenSceneGraph&pg=PA370"><i>Headway in Spatial Data Handling:13th International Symposium on Spatial Data Handling</i></a>. Springer. p. 370. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-540-68566-1</bdi>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://openscenegraph.github.io/OpenSceneGraphDotComBackup/OpenSceneGraph/www.openscenegraph.com/index.php/8-news/232-vulkan-vkscenegraph-project.html">"VulkanSceneGraph Project"</a>. <i>openscenegraph.github.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-07-05</span></span>.</cite></span>
</li>
<li id="cite_note-quickstart-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-quickstart_4-0">^</a></b></span> <span class="reference-text">Martz, P.: OpenSceneGraph Quick Start Guide. Louisville, USA, 2007.</span>
</li>
<li id="cite_note-History-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-History_5-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20150526014955/http://trac.openscenegraph.org/projects/osg/wiki/Support/History">"Support/History - osg"</a>. <i>openscenegraph.org</i>. Archived from <a rel="nofollow" class="external text" href="http://www.openscenegraph.org/projects/osg/wiki/Support/History">the original</a> on 26 May 2015.</cite></span>
</li>
<li id="cite_note-VulkanSceneGraph-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-VulkanSceneGraph_6-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.openscenegraph.com/index.php/8-news/232-vulkan-vkscenegraph-project">"VulkanSceneGraph Project"</a>. <i>www.openscenegraph.com</i>.</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20110609185828/http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.9.6/NEWS.txt">"OSG News"</a>. <i>openscenegraph.org</i>. Archived from <a rel="nofollow" class="external text" href="http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.9.6/NEWS.txt">the original</a> on 2011-06-09<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-02-20</span></span>.</cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20100415145935/http://www.openscenegraph.org/projects/osg/wiki/News/Press/OSG2.8.3">"OpenSceneGraph Adds New Features to 3D Graphics Applications"</a>. April 5, 2010. Archived from <a rel="nofollow" class="external text" href="http://www.openscenegraph.org/projects/osg/wiki/News/Press/OSG2.8.3">the original</a> on April 15, 2010.</cite></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external free" href="http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.8.4/NEWS.txt">http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-2.8.4/NEWS.txt</a> </span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external free" href="http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.0.0/NEWS.txt">http://www.openscenegraph.org/svn/osg/OpenSceneGraph/tags/OpenSceneGraph-3.0.0/NEWS.txt</a> </span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><cite id="CITEREFTorres" class="citation web cs1">Torres, Jordi. <a rel="nofollow" class="external text" href="http://www.openscenegraph.org/index.php/community/press-releases/104-openscenegraph-3-0-release">"OpenSceneGraph 3.0 release"</a>. <i>www.openscenegraph.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2017-09-23</span></span>.</cite></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://openscenegraph.github.io/OpenSceneGraphDotComBackup/OpenSceneGraph/www.openscenegraph.com/index.php/community/press-releases/143-openscenegraph-3-2-release.html">"OpenSceneGraph 3.2 release"</a>. <i>openscenegraph.github.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2017-09-23</span></span>.</cite></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://openscenegraph.github.io/OpenSceneGraphDotComBackup/OpenSceneGraph/www.openscenegraph.com/index.php/community/press-releases/191-openscenegraph-3-4-release.html">"OpenSceneGraph-3.4 release"</a>. <i>openscenegraph.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2017-09-23</span></span>.</cite></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://openscenegraph.github.io/OpenSceneGraphDotComBackup/OpenSceneGraph/www.openscenegraph.com/index.php/community/press-releases/220-openscenegraph-3-4-1-release.html">"OpenSceneGraph-3.4.1 release"</a>. <i>openscenegraph.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2017-09-23</span></span>.</cite></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://openscenegraph.github.io/OpenSceneGraphDotComBackup/OpenSceneGraph/www.openscenegraph.com/index.php/community/press-releases/223-openscenegraph-3-6-0-release.html">"OpenSceneGraph-3.6 release"</a>. <i>openscenegraph.org</i>. 7 April 2018<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-08-14</span></span>.</cite></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><cite id="CITEREFAylett" class="citation web cs1">Aylett, Ruth. <a rel="nofollow" class="external text" href="https://www.macs.hw.ac.uk/~ruth/year4VEs/Slides10/L9.pdf">"Introduction to Open Scene Graph"</a> <span class="cs1-format">(PDF)</span>. <a href="Heriot_Watt_University" class="mw-redirect" title="Heriot Watt University">Heriot Watt University</a>.</cite></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://openscenegraph.sourceforge.net/documentation/OpenSceneGraph/doc/introduction.html">"Introduction to the OpenSceneGraph"</a>. <i>openscenegraph.sourceforge.net</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-07-05</span></span>.</cite></span>
</li>
<li id="cite_note-Use_Cases-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-Use_Cases_18-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.openscenegraph.com/index.php/gallery/use-cases">"Use cases"</a>. <i>www.openscenegraph.com</i>.</cite></span>
</li>
<li id="cite_note-Use_Cases_2-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-Use_Cases_2_19-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://openscenegraph.github.io/openscenegraph.io/openscenegraph.io/">"OpenSceneGraph"</a>. <i>openscenegraph.github.io</i><span class="reference-accessdate">. Retrieved <span class="nowrap">13 March</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-VTP-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-VTP_20-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://vterrain.org/">"Virtual Terrain Project"</a>. <i>vterrain.org</i>.</cite></span>
</li>
<li id="cite_note-TV-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-TV_21-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20090228064318/http://www.viewtec.net/index.php?page=products">"ViewTec Inc. - Products"</a>. <i>www.viewtec.net</i>. Archived from <a rel="nofollow" class="external text" href="http://www.viewtec.net/index.php?page=products">the original</a> on 2009-02-28.</cite></span>
</li>
<li id="cite_note-D3D-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-D3D_22-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.easd-design.com/delta3dengine/">"Delta3dengine 2023"</a>. <i>easd-design.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">13 March</span> 2024</span>.</cite></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><span class="url"><a rel="nofollow" class="external text" href="http://www.openscenegraph.org/">www<wbr>.openscenegraph<wbr>.org</a></span> - official website for the project</li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20111011190138/http://openscenegraph.alphapixel.com/osg/downloads/free-openscenegraph-binary-downloads">AlphaPixel OSG Binaries</a> - Windows, Mac and Linux x86 and x64 precompiled binaries.</li>
<li><a rel="nofollow" class="external text" href="https://code.google.com/p/sigmaosg/">SigmaOSG</a> - OpenSceneGraph Tutorials (contains all the prior OSGHelp material from retired OSGHelp site)</li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20110508115302/http://programmingmatters.com/scenegraphs-and-openscenegraph-for-3d-software-development/">Scenegraphs and Openscenegraph for 3D Software Development</a></li>
<li><a rel="nofollow" class="external text" href="http://www.opengl.org/sdk/libs/OpenSceneGraph/">OpenSceneGraph</a> - library information webpage on <i>www.OpenGL.org</i> (one of four promoted libraries)</li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2024-03-30" href="https://en.wikipedia.org/wiki/?title=OpenSceneGraph&oldid=1216354867">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>